using System;
using System.Text;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using WCSFContrib.ECommerceCatalog.User.Interfaces.Services;
using WCSFContrib.ECommerceCatalog.BusinessEntities;

namespace WCSFContrib.ECommerceCatalog.User.Tests.Fakes
{
    public class FakeOrdersService : IOrdersService
    {
        #region IOrdersService Members

        public ICollection<BusinessEntities.Order> AllOrders
        {
            get { throw new Exception("The method or operation is not implemented."); }
        }

        public BusinessEntities.Order GetOrderById(int orderId)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public System.Collections.ObjectModel.Collection<BusinessEntities.Order> GetOrdersByUserName(string userName)
        {
            if (userName != "userTest")
                return null;

            return new Collection<Order>();
        }

        public ICollection<BusinessEntities.Order> GetOrdersByOrderStatus(BusinessEntities.Enums.OrderStatus orderStatus)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void ChangeOrderStatus(int orderId, BusinessEntities.Enums.OrderStatus newOrderStatus)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public BusinessEntities.Order Checkout(string userName, ICollection<BusinessEntities.CartItem> cartItems, DateTime orderDate, BusinessEntities.Address billingAddress, BusinessEntities.Address shippingAddress, BusinessEntities.Payment paymentMethod)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion
    }
}
